# -*- coding: utf-8 -*-
"""
Created on Wed Aug  8 12:43:14 2018

@author: Zhang Yafei
"""
"""
sys模块的常见函数列表
sys.argv: 实现从程序外部向程序传递参数。
sys.exit([arg]): 程序中间的退出，arg=0为正常退出。
sys.getdefaultencoding(): 获取系统当前编码，一般默认为ascii。
sys.setdefaultencoding(): 设置系统默认编码，执行dir（sys）时不会看到这个方法，在解释器
             中执行不通过，可以先执行reload(sys)，在执行 setdefaultencoding('utf8')，
             此时将系统默认编码设置为utf8。（见设置系统默认编码 ）
sys.getfilesystemencoding(): 获取文件系统使用编码方式，Windows下返回'mbcs'，mac下返回
                            'utf-8'.
sys.path: 获取指定模块搜索路径的字符串集合，可以将写好的模块放在得到的某个路径下，就可以
          在程序中import时正确找到。
sys.platform: 获取当前系统平台。
sys.stdin,sys.stdout,sys.stderr: stdin , stdout , 以及stderr 变量包含与标准I/O 流对应
         的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的.
         你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标
         准的方式处理它们
"""
#1.argv
import sys
a = sys.argv[1]
if a == '张亚飞':
    print(sys.argv[0])
elif a == 'kobe':
    print("我选择的是2")
else:
    print("我选择的不是1和2")
"""
python 18.sys模块.py kobe
kobe
<class 'str'>
我选择的是2
"""
"""
#sys.exit()
try:
    print('------1-------')
    sys.exit(1)
    print('------2-------')
except SystemExit as value:
    print('-----3--------')
    sys.exit(0)
    print('------4--------')
print('继续')
"""
#2.sys.path
import os
print(sys.path)
print('sys.path has',len(sys.path),'members.')
from MysqlHelper import MysqlHelper
m = MysqlHelper('localhost', 3306, 'sxmu', 'root', '0000')
sql = 'select pwd from users where user_name=%s'
name = '张亚飞'
pwd = m.fetchone(sql, [name])
print(pwd)

root = os.path.dirname(os.getcwd())
print(root)
sys.path.insert(0,os.path.join(root,'基础班'))
print('sys.path has',len(sys.path),'members.')
print(sys.path)
sys.path.append(os.path.join(root,'data'))
print(sys.path)
print('sys.path has',len(sys.path),'members.')
#3.内建模块
print('sys.builtin_module_names=',sys.builtin_module_names)
#4.系统平台
#osType = sys.platform
#if osType=='linux' or osType=='linux2':
#    command='clear'
#else:
#    command='cls'
#os.system(command)
#5.已导入模块
print('已导入模块的关键字:',sys.modules.keys())
print('共：',len(sys.modules.keys()))